package ar.com.sectorwine.entities;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

@Entity
public class PerfilUsuario implements Serializable, EliminableLogicamente {

	/**
	 * 
	 */
	private static final long serialVersionUID = -1017060612606231675L;

	@Id
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Long id;
	@Size(max = 25, message = "{constraint.violation.size.1_25}")
	private String cargo;
	@Size(max = 25, message = "{constraint.violation.size.1_25}")
	private String telefonoFijo;
	@Size(max = 25, message = "{constraint.violation.size.1_25}")
	private String telefonoMovil;

	@NotNull
	private Boolean baja = false;

	@OneToMany(cascade = CascadeType.ALL)
	private List<Empresa> empresas = new ArrayList<Empresa>();

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCargo() {
		return cargo;
	}

	public void setCargo(String cargo) {
		this.cargo = cargo;
	}

	public String getTelefonoFijo() {
		return telefonoFijo;
	}

	public void setTelefonoFijo(String telefonoFijo) {
		this.telefonoFijo = telefonoFijo;
	}

	public String getTelefonoMovil() {
		return telefonoMovil;
	}

	public void setTelefonoMovil(String telefonoMovil) {
		this.telefonoMovil = telefonoMovil;
	}

	@Override
	public void setBaja(Boolean baja) {
		this.baja = baja;
	}

	@Override
	public Boolean getBaja() {
		return baja;
	}

	public List<Empresa> getEmpresas() {
		return empresas;
	}

	public void setEmpresas(List<Empresa> empresa) {
		this.empresas = empresa;
	}

}
